package cn.edu.buu.hospital.service;

import cn.edu.buu.hospital.entity.Doctor;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 医生Service接口
 */
public interface DoctorService {

    /**
     * 新增医生
     */
    void add(Doctor doctor);

    /**
     * 根据ID删除医生
     */
    void removeById(Long doctorId);

    /**
     * 修改医生信息
     */
    void modify(Doctor doctor);

    /**
     * 根据ID查询医生
     */
    Doctor findById(Long doctorId);

    /**
     * 查询所有医生
     */
    List<Doctor> findAll();

    /**
     * 分页查询医生列表
     */
    PageInfo<Doctor> find(int pageNum, int pageSize, Doctor condition);

    /**
     * 根据科室ID查询医生列表
     */
    List<Doctor> findByDeptId(Long deptId);
    
    /**
     * 医生登录验证
     * @param doctorName 医生姓名
     * @param idCard 身份证号
     * @return 登录成功返回医生对象，失败返回null
     */
    Doctor doctorLogin(String doctorName, String idCard);
    
    /**
     * 根据医生姓名查询医生
     * @param doctorName 医生姓名
     * @return 医生对象，未找到返回null
     */
    Doctor findByName(String doctorName);
}